-
Notifications
You must be signed in to change notification settings - Fork 217
Add CUDA 13.0 Tests for CuFile I/O Operations #1060
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Thanks, Chloe! Pinning you internally... |
/ok to test e1eabf8 |
cuda_bindings/tests/test_cufile.py
Outdated
# Reset to level 0 (disabled) for cleanup | ||
cufile.set_stats_level(0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is still unresolved.
cuda_bindings/tests/test_cufile.py
Outdated
@pytest.mark.skipif( | ||
cufileVersionLessThan(1150), reason="cuFile parameter APIs require cuFile library version 13.0 or later" | ||
) | ||
def test_stats_start(): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@chloechia4 Please remove this test entirely. I don't see any change?
cuda_bindings/tests/test_cufile.py
Outdated
# Set statistics level first (required before starting stats) | ||
cufile.set_stats_level(1) # Level 1 = basic statistics |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where...? @chloechia4 if you made the changes locally, make sure you push it to remote.
# Set statistics level first (required before starting stats) | ||
cufile.set_stats_level(1) # Level 1 = basic statistics |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this has not happened yet
# Reset cuFile statistics to clear all counters | ||
cufile.stats_reset() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto
fd = os.open(file_path, os.O_CREAT | os.O_RDWR | os.O_DIRECT, 0o600) | ||
|
||
try: | ||
cufile.set_stats_level(2) # L2 = detailed performance metrics |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this needs to be restored
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mean reset(). Adding a stats_reset() in "finally" section
/ok to test |
@mdboom, there was an error processing your request: See the following link for more information: https://docs.gha-runners.nvidia.com/cpr/e/1/ |
/ok to test 65573fc |
/ok to test 642be44 |
/ok to test a9584c8 |
@mdboom, there was an error processing your request: See the following link for more information: https://docs.gha-runners.nvidia.com/cpr/e/2/ |
/ok to test a9584c8 |
/ok to test 3f81345 |
/ok to test ed6eeb2 |
/ok to test 125f968 |
|
Description
This PR includes tests for the low-level bindings and the generated low-level bindings introduced in CUDA 13.0 for CUFile.
CUDA 13.0 CuFile Operations
Note: The original
test_batch_io_large_operations()
did not pass once switched from CUDA 12.9 to 13.0. I realized it was because the file reads were occurring before the writes as it was submitting all operations (reads and writes) together in one batch. As a result, it was trivially failing because the reads would return as 0 bytes, since they were happening before any write I/O occurred. I changed it to so it would be separated into two phases: writes complete first in one batch handle, and then reads are submitted in another batch handle. This new test works with CUDA 12.9 versioning as well.All tests passing across CUDA versions
